package cn.boge.hrm.exception;

/**
 * 整个系统中异常可以分为两类
 * 1 自己业务逻辑判断异常  可以通过自定义异常抛出，外层进行捕获处理
 *    1) BusinessException
 *    2)在controller抛出并捕获异常
 *    问题1：每个地方都要做null判断 断言判断解决
 *    问题2：controller到处都要进行捕获处理 全局异常处理解决
 * 2 底层框架（mysql sql错了会抛出异常）  直接捕获Exception，进行统一提示处理
 *
 *
 */
public class BusinessException extends  RuntimeException {
    private ErrorCode errorCode;

    public BusinessException(String message) {
        super(message);
    }

    public BusinessException(ErrorCode errorCode) {
        this.errorCode = errorCode;
    }

    public BusinessException(String message, Throwable cause) {
        super(message, cause);
    }

    public BusinessException(Throwable cause) {
        super(cause);
    }


    public ErrorCode getErrorCode() {
        return errorCode;
    }

    public void setErrorCode(ErrorCode errorCode) {
        this.errorCode = errorCode;
    }
}
